package cn.lopr.im.android.mvp.contact;

import java.util.Map;

import cn.lopr.im.android.bean.CallbackResult;
import cn.lopr.im.android.bean.User;
import cn.lopr.im.android.common.OnCallBackListener;
import cn.lopr.im.android.common.ViewBase;
import cn.lopr.im.android.utils.cos.CosProperties;

/**
 * @author shuangyang7
 * @date 2021/5/20 20:04
 */
public interface IRegisterBeforeContact {

    interface IRegisterBeforePresenter {
        void getCode();

        void regBefore();

        void getCosTempSecret(OnCallBackListener<CosProperties, String> onCallBackListener);
    }

    interface IRegisterBeforeView extends ViewBase {

        void regBeforeSuccess(User user);

        void regBeforeFailure(String message);

        void saveJwtKey(String token, String value);

        String getPhone();

        String getPassword();

        String getSex();

        String getPortrait();

        String getIntroduction();

        void uploadFile(String path);

    }

    interface IRegisterBeforeModel {
        void getCode(String phone, OnCallBackListener<CallbackResult<User>, String> onCallBackListener);

        void regBefore(String phone, String password, String sex, String portrait, String introduction, OnCallBackListener<CallbackResult<Map<String, Object>>, String> onCallBackListener);

        void getCosTempSecret(OnCallBackListener<CosProperties, String> onCallBackListener);

    }
}
